1. Field of the Invention
The present invention relates generally to a method of producing charged beam drawing data used to produce drawing data necessary for drawing by a charged beam drawing apparatus from design layout data for a semiconductor device, and more particularly, to a computer program-implemented method of producing drawing data which permits figures to be accurately drawn in a vector scan type charged beam drawing apparatus.
2. Description of the Background Art
Electron beam drawing (charged beam drawing) is widely used for producing masks for use in the manufacture of semiconductor devices, particularly Large Scale Integrated circuits for its high performance in processing minute figures and its high controllability.
Electron beam drawing methods can be divided into two kinds, raster scan type and vector scan type methods. The raster scan type method has been widely used for producing masks for its simple device structures and readiness to produce drawing data using the method.
By the raster scan type method, however, the drawing speed greatly depends on the minimum grid size (address unit size) for designating the size of a figure to draw and a drawing position. As the minimum grid size decreases, the time required for drawing the entire figure increases. In fact, the raster scan type method takes too long a drawing time period and is not applicable to drawing of a mask for a 256 M bit Dynamic Random Access Memory (DRAM) which requires a very small address unit. The raster scan type method is not suitable for the case of fabricating a large number of elements on a single chip as is recently often practiced.
In recent years, the variable shaping type method, one kind of the vector scan type methods has attracted much attention. By the variable shaping type drawing method, an electron beam is shaped depending upon the size of a figure to draw, and only the necessary region is irradiated with the electron beam. The drawing speed is higher and the address unit size may be small as a result. The variable shaping type method therefore would be the main stream of electron beam direct drawing employed for producing masks for devices emerging after the 256 Mbit DRAM and developing devices emerging after the 1 gigabit DRAM.
Despite the above-described characteristic, by the variable shaping type drawing method, the processing is more complex and takes longer than the raster scan type method in producing drawing data.
Now, the procedure of producing drawing data used by the variable shaping type drawing method and the procedure of drawing will be described.
FIG. 1 shows a kind of LSI design pattern data. As shown in FIG. 1, the LSI design pattern data is usually represented by a figure 480 of a polygon (a series of vertexes). The upper side width of the figure is Wd. The design layout data should be divided into basic figures such as rectangle, regular square, triangle and trapezoid (hereinafter generically referred to as "basic figure", as they are basic figures which can be shaped at a time by the variable shaping type electron beam drawing apparatus), in order to draw a figure based on the data using the variable shaping type electron beam drawing apparatus. The division is called basic figure division or trapezoidal division. The processing is also called basic figure processing.
There are various kinds of basic figure division including a method of horizontally inserting dividing lines from the vertexes of the polygon as shown in FIG. 2. In the example shown in FIG. 2, figure 480 is divided into two rectangles 482 and 484 by a dividing line in the horizontal direction. Rectangle 482 has positional coordinates (x1, y1), a height HS1 and a width WS1. Rectangle 484 has positional coordinates (x2, y2), a height HS2 and a width WS2. Herein, the sum of HS1 and HS2 is equal to HS. WS1 is equal to WS.
Rectangle 480 as shown in FIG. 1 can be also divided into basic figures by inserting a dividing line in the vertical direction from a vertex of the polygon as shown in FIG. 3. In the example shown in FIG. 3, rectangle 480 is divided into two elongate rectangles 486 and 488 by the dividing line in the vertical direction. Rectangle 486 has positional coordinates (x2, y2), a height HS and a width WS2. Rectangle 488 has positional coordinates (x3, y3), a height HS1 and a width WS3. Note that the sum of WS2 and WS3 is equal to Wd.
Now, the procedure of actually drawing a figure using the drawing data thus divided into basic figures will be described. When the pattern data of rectangle 482 shown in FIG. 2 is input to the electron beam drawing apparatus, an electron beam shaping deflector forms an electron beam having width WS1 and height HS1. The beam is shifted to an irradiation position (x1, y1) by a deflector for designating a position for irradiating an electron beam, and irradiates resist applied on a workpiece such as mask substrate and silicon wafer for a time period corresponding to an exposure amount necessary for the photosensitive reaction of the resist. Then, the pattern data corresponding to figure 484 in FIG. 2 is input to the electron beam drawing apparatus, and the figure is similarly drawn by an electron beam. This procedure is sequentially repeated for all the parts of the LSI pattern to draw the entire LSI pattern.
The above process of producing drawing data used by the variable shaping type drawing method is encountered with the following problem. The design layout data shown in FIG. 1 is converted into drawing data, which is used to draw a figure on a mask, followed by developing resist to form a resist pattern on the mask, which is shown as resist pattern 490 in FIG. 4 by way of illustration. In connection with the pattern size precision of a portion having a width Wm in resist pattern 490, the cause of the precision degradation will be considered. Note however that any factors related to the pattern forming process conditions such as resist development are not considered here.
Let us assume that the design layout data shown in FIG. 1 is divided by a horizontal dividing line as shown in FIG. 2. Width Wm is affected only by the precision of shaping the electron beam formed according to rectangle 482 shown in FIG. 2, in other words only the size precision of the electron beam for the portion corresponding to width WS1.
Meanwhile, there is another case when the figure is divided by a vertical dividing line as shown in FIG. 3. Width Wm is affected by the precision of the irradiation position of the electron beam corresponding to rectangle 486 shown in FIG. 3, the precision of the irradiation position of the electron beam corresponding to rectangle 488, and the shaping precision. Two more factors affect on the resist pattern size precision than the case of dividing the figure by the horizontal dividing line shown in FIG. 2.
A plurality of resist patterns are actually formed using drawing data divided by the different dividing methods as shown in FIGS. 2 and 3, and the measured sizes are given in FIGS. 5 and 6. FIG. 5 corresponds to the use of the drawing data shown in FIG. 2 and exhibits a dispersion in resist pattern size, when the resist pattern of the portion having width Wm is formed using a one-shot electron beam irradiation. FIG. 6 corresponds to the use of the drawing data shown in FIG. 3 and exhibits a dispersion in sizes when the resist pattern of the portion having width Wm is formed by irradiating two shots of electron directed upon different positions.
As can be seen from FIGS. 5 and 6, when the resist pattern is formed by irradiation of the one-shot electron beam, the dispersion in size is only about .+-.0.025 .mu.m, while when the pattern is formed by two shots of electron beams, the dispersion is as great as .+-.0.075 .mu.m. More specifically, the use of two shot electron beam irradiation degrades the size precision, which is one disadvantage associated with producing drawing data by the variable shaping type method.
Another disadvantage encountered in the process of producing drawing data by the variable shaping type method is that when a resist pattern is formed by two or more shots of electron beams irradiated upon different positions, and among the plurality of shots a shot forming an edge of the resist pattern is in a very small size, the size precision of resist to form is further degraded, which will be further described in conjunction with FIGS. 7 to 10.
Now, let us assume that a one shot electron beam is shaped based on rectangle 492 shown in FIG. 7. The graph shown in FIG. 8 corresponds to the intensity distribution of the electron beam at the time. Referring to FIG. 8, the intensity distribution does not form a complete rectangle with edges spreading out. The slopes of the intensity distribution at the edges change depending on the size of a beam to shape. The case having a large slope is referred to as "the beam sharpness is low", and the case having a small slope is referred to as "the beam sharpness is high". Generally speaking, as the size of the beam increases, the Coulomb repulsion in the electron beam increases, which lowers the beam sharpness, and the intensity distribution is rounded off at the edges.
Now, let us assume that a pattern having the same size as rectangle 492 shown in FIG. 7 will be irradiated with two shots of electron beams. Referring to FIG. 9, the pattern is formed of a relatively large rectangle 494 on the right and a small size rectangle 496 on the left. The intensity distribution of the electron beam used at the time is shown in FIG. 10. As shown in FIG. 10, when the pattern is formed by two shots, the intensity distribution of the beam is different at the edge (on the left) from the case of drawing with one shot, and a resist pattern with a different size results.
As shown in FIG. 9, a plurality of resist patterns including minute figures to draw are produced with two shots, and the measured sizes of the resulting resist parts are given in FIG. 11. The dispersion in size is larger than the result of one shot drawing (FIG. 5), and there is also a difference in the average value. The difference in the average value is derived from the electron beam irradiation of the above-described minute figures to draw.
The size of a minute figure to draw suffering great degradation in size precision largely depends on the electron beam drawing apparatus to use, the kind of resist, and the method and conditions of pattern forming processing. In general, the degradation in the size precision is most apparent when the length of widthwise or heightwise side of the figure is not more than 0.5 .mu.m.
A drawing data processing flow for the above processing by a conventional variable shaping type electron beam drawing apparatus will be described in conjunction with FIG. 12. Design layout data (hereinafter simply as "design data") 100 is divided into a plurality of equal size figure processing region units by a figure processing region dividing portion 102. This is for the purpose of providing for high speed operation by dividing an LSI chip region including an enormous amount of figure data into figure processing regions and reducing the number of pieces of figure data to process at a time, as well as for the purpose of processing the data within the limit of processing capacity by the system configuration of the drawing data producing apparatus (particularly the memory capacity). In addition, a plurality of CPUs may be employed to process figures in the figure processing regions in parallel for high speed processing as will be described later. The size of a figure processing region itself may be set as desired.
During the figure processing region division processing, a redundancy region is provided in the periphery of each figure processing region, and a figure within the redundancy region in the periphery of each figure processing region is attached to the figure processing region. In each figure, the portion in the vicinity of the figure processing region is included both in one of two figure processing regions across the boundary and in the redundancy region of the other figure processing region. Thus, the figure spanning the boundary between the two figure processing regions will not be disconnected on the figure processing boundary. The figure is disconnected at the boundary of the redundancy region. In other words, the figure processing is conducted to the region including both the figure processing region and redundancy region. This is for the purpose of preventing inappropriate reduction of the figure in the vicinity of the figure processing boundary by the sizing of the figure or the like.
The figure within the redundancy region is allocated to each figure processing region boundary and divided in the course if necessary in a redundancy region removing portion which will be described, in order to prevent the generation of minute figures to draw at the figure processing region boundary. The space between the redundancy portion boundary and the figure processing region boundary needs only be at a value adequately larger than the size of an intended minute figure to draw. Figure processing region dividing portion 102 thus outputs sets of figure data 104.
Basic figure processing portion 106 then divides the figure in figure data 104 into basic figures. Among the various methods of dividing a figure into basic figures as described above, herein each figure is divided into basic figures by drawing a dividing line from a vertex of the figure in the horizontal direction. At the time, overlapped portions between figures are removed as part of the basic figure processing, in order to prevent the same region from being irradiated more than once with an electron beam. If the same region is repeatedly irradiated with an electron beam, only the portion will have higher irradiation energy which causes size errors, and therefore the processing of removing overlapped portions is essential to producing drawing data for the variable shaping type electron beam drawing apparatus. Depending upon the structure of semiconductor, the region other than for those input during designing is sometimes irradiated with an electron beam. In order to form an opening portion in a mask, for example, the region other than for the opening portion must be sometimes irradiated with an electron beam depending upon the kind of resist. This sometimes necessitates a white-black reversing processing to generate a figure used for irradiating an electron beam to a region originally without any figure. At the time, the overlapped portions are removed from figures other than those in the redundancy region of the figure processing region.
Among various methods for dividing a figure into basic figures by means of removing overlapped portions or reversing between black and white portions, a generally used method is a slab method. Herein, the processing of removing overlapped portions by the slab method will be described in conjunction with FIGS. 13 and 14. In the following description, dividing lines are drawn in the horizontal direction, and slab proceeds in the horizontal direction, the dividing line may be in any predetermined direction including the vertical direction.
Referring to FIG. 13, there are three figures 520, 522 and 524 included in figure data 104. Dividing lines 530, 532, 534, 536, 538 and 540 extending horizontally from the vertexes of each figure are inserted in the entire processing region. Thus, the processing region is divided into elongate rectangular regions (slabs) 550, 552, 554, 556, 558, 560 and 562. The figures are divided by the slab boundaries.
The sides of figures 520, 522 and 524 are attached with arrows to be vectors. The directions of arrows are determined based on whether to trace the vertexes along the sides clockwise or anticlockwise. A value indicating the direction of each vector within a slab (hereinafter referred to as "vector directional value") is set for the vector. If for example slabs are horizontally formed as shown in FIG. 13, the vector from the lower side of a slab towards the upper side is set to 1, and the vector from the upper side to lower side is set to -1. This state is shown for slab 554 in FIG. 13. Note that in FIG. 13, vector directional vales when tracing the vertexes of the figures clockwise are shown.
Now, a method of removing overlapped figure portions will be described. All the vectors included in each slab are sorted out according to the coordinate value of the junction of each vector and the lower end of the slab. The vector directional value given to each vector is added up sequentially from the left, if the slabs are horizontally formed, and the vector whose addition to the total value of vector directional values results 0 is searched. The vector with which the addition is started and the vector nullifying the result of addition of vector direction values are used to form a basic figure. An example of the processing will be described in conjunction with FIG. 13.
Addition of vectors are started first from the vector on the left in each slab. In slab 554 shown in FIG. 13, the vector direction values of the first, second, third and fourth vectors are 1, 1, -1 and -1, respectively. If addition of vector direction values is started from the first vector, the result of addition of the vector direction values is 2 at the second vector, and 1 at the third vector, and 0 at the fourth vector. Therefore, the vector on the left end and the fourth vector in slab 554 form a figure, and the second and third vectors are removed as unnecessary vectors. The processing is conducted to all the vectors in the slabs to remove all the figure overlapped portions. FIG. 14 shows the result of processing. In the example shown in FIG. 14, figures 520, 522 and 524 in FIG. 13 are divided into figures 570, 572, 574, 576 and 578 including rectangles and trapezoids. By this method, data is divided into basic figures in the processing result, and the overlapped portions between the figures are also removed. For its high processing speed, this method is suitable for processing a large volume of figure data.
In place of the slab method, optimum basic figure dividing as disclosed by Japanese Patent Laying-Open No. 7-105765 assigned to the assignee of the present invention may be used. Japanese Patent Laying-Open No. 7-105765 is herein incorporated by reference through its entirety.
Basic figure processing portion 106 further performs sizing processing to figures. By the processing, some figures are expanded or reduced. If figures in the vicinity of a figure processing region are disconnected by the figure processing region, only the portion within the figure processing region is expanded/reduced and sizing fault may result. The redundancy region is provided to the figure processing region in figure processing region dividing portion 102 in order to expand/reduce the figure included in the redundancy region for correct sizing. The figure data divided into basic figures by basic figure processing portion 106 is output as basic figure data 500.
Redundancy region removing portion 502 allocates figures included in the redundancy regions of basic figure data 500 to figure processing regions and divides them if necessary in the course such that no minute figure to draw is generated on boundaries of the figure processing regions. Thus, in the entire LSI chip region, overlapped figure portions generated by the processing of the figure processing region dividing portion are removed.
Referring to FIG. 12, basic figure data allocated to the figure processing regions are merged at a figure data merge portion 504 and output as basic figure data 506. A drawing field allocating portion 508 allocates basic figure data 506 to a region which can be drawn using the electron beam drawing apparatus only by deflecting an electron beam (hereinafter referred to as "drawing field region"). Figure processing region dividing portion 102, redundancy region removing portion 502 and drawing field allocating portion 508 perform essentially the same kind of processing, which will be detailed in conjunction with FIG. 7 and on. As is redundancy region removing portion 502, drawing field allocating portion 508 divides a figure on a drawing field boundary such that no minute figure to draw is generated on the drawing field boundary. In the variable shaping type electron beam drawing apparatus as described by way of illustration, the size of the drawing field region may be set to a desired value not more than 2.5 mm.
Basic figure data 510 allocated to the drawing fields is formatted by an electron beam drawing data format portion 122 into electron beam drawing data 512 in a data structure which can be input to a desired drawing apparatus.
The present invention relates to, in the above processing flow, a drawing data producing apparatus capable of precisely reducing the generation of a minute figure to draw within a figure processing region and on the boundary of a figure processing region. Now, a disadvantage to be overcome by the present invention will be detailed.
Redundancy region removing portion 502 will be detailed in conjunction with the flow chart in FIG. 15 and an example shown in FIGS. 16 to 18. FIG. 15 is a flow chart for use in illustration of redundancy region removing portion 502. The maximum size value of a minute figure to draw is defined as input parameter, and a figure having a size not more than the maximum size is processed as a minute figure to draw. Each figure in the redundancy region and figure processing region is subject to the following processing so as not to generate a minute figure to draw by comparing to the positional relation between the figure processing region boundary and figure region. In FIGS. 16 to 18, a solid line region 630 defined by points W1 (wx1, wy1) and point W2 (wx2, wy2) is a figure processing region, a broken line 632 defines the boundary of a redundancy region, a region 634 defined by point P1 (x1, y1) and point P2 (x2, y2) is a figure region. Herein, the figure region is defined as a rectangular region externally in contact with a figure of interest. If the figure of interest is a rectangle, the figure data and figure region are in coincidence. If the figure of interest is a trapezoid, a rectangular region 642 close to the outer periphery of trapezoid 640 is a figure region as shown in FIG. 19.
Referring to FIG. 15, redundancy region removing portion 502 sequentially reads out figure data, comparing the positional relations between figure processing boundaries (left, right, lower and upper sides) and figure regions (600, 602, 604, 606, 610, 614, 618, 622), and performs a boundary processing (612, 616, 620, 624) if a figure region strides over a figure processing region boundary (FIG. 16). As indicated by steps 600 and 610, for example, if x1&lt;wx1 and wx1&lt;x2, the left side of the figure region is on the left of the left side of the figure processing region, while the right side of the figure region is on the right of the left side of the figure processing region, and therefore the figure region can be determined as striding over the left side of the figure processing region. The figure data is subject to left side boundary processing 612. Similarly, if the figure region strides over the right, lower and upper sides of the figure processing region, a right side boundary processing 616, a lower side boundary processing 620 and an upper side boundary processing 624 are performed, respectively. The boundary processing will be detailed later.
If the figure region is present between the redundancy region boundary and the figure processing region boundary (FIG. 17), the figure data is not output. If the figure region is present within the figure processing region (FIG. 18), the figure data is output as is.
Now, boundary processings 612, 616, 620 and 624 will be described. During a boundary processing, a figure portion overlapping another figure portion within the redundancy region is removed so as not to generate a minute figure to draw. Each figure processing region has a redundancy region, and its figure portion striding over an adjacent figure processing region also belongs to the adjacent figure processing region. The overlapping figure portion in the redundancy region can be removed independently for each figure processing region based on a predetermined procedure so as not to generate a minute figure to draw the procedure will be described below.
Left side boundary processing 612 shown in FIG. 15 will be described in conjunction with FIGS. 20 to 23. Referring to FIG. 20, the left side of a figure region 650 is on the left of figure processing region 630 by a distance of d1, and the right side of figure region 650 is on the right of the left side of figure processing region 630 by a distance of d2. Note that the left side of figure region 650 is on the right of the left side boundary of redundancy region 632.
Referring to FIG. 21, left side boundary processing 612 for the drawing field is determined based on the relation between distances d1 and d2 representing the relation of the X-coordinate of the figure and the X-coordinate of the drawing field boundary (left side) and size .epsilon. given from external parameters. Size .epsilon. is an input maximum size value for a minute figure to draw. In this left side boundary processing, all the four kinds of positions 660A to 660D shown in FIG. 22 will be considered as the relation between a figure and a figure processing region. Herein, at position 660A, the width of a figure portion provisionally divided by a figure processing region boundary at the left side is not more than minimum size value .epsilon. for minute figure to draw. At position 660B, the width of a figure portion similarly divided at the right side is not more than maximum size value .epsilon.. At position 660C, the widths of the divisions of the figure are each larger than maximum size value .epsilon.. At position 660D, the widths of both divisional figures are not more than maximum size value .epsilon..
Referring to FIG. 22, it is determined in step 612A whether the distance d2 between the X-coordinate x2 of point P2 in the figure and the X-coordinate wx1 of the boundary left side is larger than .epsilon.. If distance d2 is not larger than .epsilon. (as at positions 660B and 660D in FIG. 22), the figure is removed from the drawing field. If distance d2 is larger than .epsilon., it is determined in step 612B whether the distance d1 between the X-coordinate x1 of point P1 and the boundary left side is larger than .epsilon.. If d1 is not larger than .epsilon., the figure data is output as is and the control transits to the next boundary processing (as at position 660A in FIG. 22). If distance d1 is larger than .epsilon., the X-coordinate x1 of point P1 in the figure is corrected into wx1 to obtain a new point P1' (wx1, y1) in step 612C, and the control transits to the next boundary processing (as at position 660C in FIG. 22).
The results of boundary processings to the figures shown at positions 660A to 660D in FIG. 22 are shown in FIG. 23. As shown in FIG. 23, a figure 662A results at position 660A, and a figure 662C results at position 660C. No figure results at positions 660B and 660D. The processing for position 660C in FIG. 22 is common to any side of the figure processing region boundary where a figure is divided on a figure processing region boundary and no minute figure to draw is generated. In this case, the figure is divided by the figure processing region boundary, and only the figure remaining within the figure processing region is output (figure 662C in FIG. 23).
If a figure is divided by a figure processing region boundary, and one of the divisional figures is a minute figure to draw (positions 660A and 660B in FIG. 22), the processing principally proceeds as follows. If the figure remaining inside the figure processing region being currently processed as a result of dividing is a minute figure to draw (at position 660B in FIG. 22), no figure will be output. If the figure remaining in an adjacent figure processing region but not in the figure processing region of interest as a result of dividing (at position 660A in FIG. 22), the figure is not divided by the figure processing region boundary and output as is (figure 662A in FIG. 23).
As the case of position 660D in FIG. 22, figures resulting from the dividing are both minute figures to draw in any of the two adjacent figure processing regions across the boundary of the figure processing region of interest, the figures themselves will not be left by the above processing. In order to cope with the disadvantage, the side to output the figure is predetermined. For example, a figure is output without being divided at the right and upper sides of the figure processing region boundary, and left and lower sides are predefined not to output any figure. Then, the figure will be included in one of adjacent figure processing regions and not included in the other. In the following description, if figures resulting from dividing are both minute figures to draw, the figures are output according to the above described rule.
Right side boundary processing 616 shown in FIG. 15 is the same as left side boundary processing 612. Referring to FIG. 24, the boundary processing of the right side of the drawing field is determined based on the relations among distances d2 and d1 between the X-coordinates x1 and x2 of figure 650 and the X-coordinate wx2 of the right side of figure processing region 630 and size .epsilon.. The flow chart of right side boundary processing 616 is given in FIG. 25. In the following description, it is assumed that a figure is present at any of the positions 664A, 664B, 664C and 664D shown in FIG. 26. These positions correspond to positions 660A, 660B, 660C and 660D, respectively shown in FIG. 22 related to the left side boundary processing.
Referring to FIG. 25, during right side boundary processing 616, it is determined in step 614A whether distance d1 between the X-coordinate x2 of point P2 in the figure and the boundary right side is larger than .epsilon.. If distance d1 is not larger than .epsilon., the figure is output as is and the control transits to the next boundary processing. Positions 664B and 664D shown in FIG. 26 correspond to such a case. If distance d1 is larger than .epsilon., it is determined in step 614B whether distance d2 is larger than .epsilon.. If distance d2 is not larger than .epsilon., the figure is removed from the drawing field. This corresponds to position 664A in FIG. 26. As shown in FIG. 27, the figure is not output in this case.
If it is determined in step 614B that distance d2 is larger than .epsilon. (the case of position 664C in FIG. 26), the X-coordinate x2 of point P2 in the figure is corrected to wx2 to obtain point P2' (wx2, y2), and the control transits to the next boundary processing. A figure 666C in FIG. 27 results from the processing.
Lower side boundary processing 620 and upper side boundary processing 624 are the same as left side boundary processing 612. Referring to FIG. 28, lower side boundary processing 620 is determined based on the relation among the Y-coordinates y1 and y2 of a figure, the Y-coordinate wy1 of the lower side of drawing field 630 and size .epsilon.. The flow chart in FIG. 29 will be described. Possible positions of figures are given in FIG. 30. Positions 668A to 668D shown in FIG. 30 correspond to positions 660A to 660D in FIG. 22, respectively.
Referring to FIG. 29, it is determined in step 622A whether distance d2 between the Y-coordinate y2 of point P2 in the figure and the boundary lower side is larger than .epsilon.. If distance d2 is not larger than .epsilon., the figure is removed from the drawing field. This corresponds to the cases of positions 668B ad 668D in FIG. 30. In this case, no corresponding figure is left as shown in FIG. 31.
If distance d2 is larger than .epsilon., it is then determined in step 622B whether distance d1 between the Y-coordinate y1 of point P1 in the figure and the boundary lower side is larger than .epsilon.. If distance d1 is not larger than .epsilon., the figure data is output as is. This case corresponds to positions 668A and 668D in FIG. 30. Note however that if figures remaining in two adjacent figure processing regions across the boundary as a result of dividing are both minute figures to draw, only the upper side figure is left as described above and the lower side figure will not be output. As the result of the processing, a figure 670A in FIG. 31 is left.
If distance d1 is larger than E (positions 668B and D in FIG. 30), the Y-coordinate of point P1 in the figure is corrected to wy1 to obtain a point P1' (x1, wy1) and the figure data is output (and the process transits to the next boundary processing). As a result, figures 670B and 670D shown in FIG. 31 result.
Upper side boundary processing 624 is as follows. Referring to FIG. 32, the upper side boundary processing is determined based on the relation among the Y-coordinates y1 and y2 of figure 650, the Y-coordinate wy2 of the upper side of figure processing region 630 and size .epsilon.. The processing flow is given in FIG. 33. The positions of figures which will be described below are shown in FIG. 34, and the result of the upper side boundary processing is given in FIG. 35. Positions 672A to 672D in FIG. 34 correspond to positions 660A to 660D, respectively in FIG. 22 which is associated with left side boundary processing 612.
Referring to FIG. 33, it is determined in step 624A whether distance d1 between the Y-coordinate y2 of point P2 in the figure and the boundary upper side is larger than .epsilon.. If distance d1 is not larger than .epsilon., the figure data is output as is (and the boundary processing completes). At the time, a figure 674B and a figure 674D shown in FIG. 35 are output. Figure 674D, though divided into minute figures to draw, is output according to the above-described rule, because it is positioned on the upper side of figure processing region 630.
If distance d1 is larger than .epsilon., it is determined in step 624B whether distance d2 between the Y-coordinate y1 of point P1 in the figure and the boundary upper side is larger than .epsilon.. If distance d2 is not larger than .epsilon., the figure is removed from the drawing field. This corresponds to position 672A in FIG. 34.
If distance d2 is larger than .epsilon., the Y-coordinate of point P2 in the figure is corrected to wy2 to obtain a point P2' (x2, wy2), the figure data is output (and the boundary processing completes.) This corresponds to position 672C in FIG. 34. A figure 674C shown in FIG. 35 is output as a result.
The processing by redundancy region removing portion 502 proceeds as described above. The processing by allocating portion 508 for drawing field is substantially identical to the processing by redundancy region removing portion 502 except that a figure is allocated to the drawing field rather than to the figure processing region.
Basic figures allocated to figure processing regions are again merged by figure data merge portion 504 into basic figure data 506 for the entire design data. Among all the basic figures, those to be collected as a set of data are subject to a processing to combine them as one figure, followed by another basic figure dividing. Drawing field allocating portion 508 allocates basic figure data 506 to drawing fields. The method of allocating is substantially identical to the method of allocating figures by redundancy region removing portion 502. The flow of the processing by allocating portion 508 to the drawing fields is given in FIGS. 36 and 37. Referring to FIG. 36, basic figure data 506 is input (380). It is determined whether or not the following allocating processing has been completed to all the basic figures (382). If the processing has been completed to all the basic figures, the allocating processing completes. If the processing has not been completed, it is determined if a basic figure to be processed is a trapezoid (384). If the figure is a trapezoid, the control proceeds to step 590 and allocates the basic figure to each drawing field according to the method of allocating a trapezoid, and if the figure is not a trapezoid, the control proceeds to step 402 and basic figures are allocated to drawing fields according to the method of allocating for figures other than trapezoid. Then, the process returns to step 380, and the above-described processing is repeated for all the basic figures. The method of processing a figure other than a trapezoid 402 is the same as that shown in FIG. 15. Note that in the following description, "trapezoid" refers to a figure having upper and lower bases parallel to the upper and lower sides of a drawing field, and at least one side inclined relative to the right or left side of the drawing field.
Referring to FIG. 37, during the processing of allocating a trapezoid, it is determined if the trapezoid is present across the boundary of the upper end or lower end of the field (386). If the trapezoid is at the upper end or lower end of the field, the control proceeds to step 388, and field upper end or lower end boundary trapezoid incorporating processing is performed (388). The processing itself is the same as a normal allocating processing.
Now, it is determined whether an inclined side of a trapezoid of interest is on the left end or right end boundary of the drawing field (390). If the inclined side of the trapezoid is not on the left end or right end boundary, the control proceeds to step 400 and outputs a basic figure, thus completing the processing. If there is an inclined side of the trapezoid across the left end or right end boundary, the control proceeds to step 680. In step 680, the intersection of the inclined side and the drawing field boundary is obtained, and the trapezoid is divided by a horizontal line through the intersection. In step 398, individual trapezoids resulting from the dividing are subject to drawing field left end or right end boundary trapezoid incorporating processing. The boundary trapezoid incorporating processing is the same as the processing shown in FIG. 15. When the process in step 398 completes, a resulting basic figure is output (400), thus completing the processing.
All the basic figure data is allocated to drawing fields, electron beam drawing data is formatted into a form which can be used by an electron beam drawing apparatus using an electron beam drawing data format portion 122, and electron beam drawing data 512 is obtained. Electron beam drawing data format portion 122 is different between electron beam drawing apparatuses to use.
By the above-described conventional technique, a minute figure to draw is sometimes generated upon dividing a figure into basic figures at basic figure processing portion 106 shown in FIG. 12. Such an example will be described in conjunction with FIGS. 38 to 40. The procedure of dividing a figure 274 shown in FIG. 38 into basic figures will be considered. In this case, as shown in FIG. 39, dividing lines 690 to 700 are drawn horizontally from the vertexes of figure 274. As a result, figure 274 is divided into five rectangles 310, 312, 314, 316 and 318 shown in FIG. 40. Rectangles 314 and 318 are obtained as minute figures to draw by this dividing, and if electron beam drawing is performed to this pattern, the size precision degrades as described above. A similar problem is sometimes encountered as a result of sizing a figure. In order to solve such a disadvantage, it is desirable to remove thus formed minute figure to draw and converted into a basic figure as large as possible and to form charged beam drawing data.
Furthermore, the above described conventional technique suffers the following problem. In this technique, upon allocating basic figures to the figure processing regions or drawing fields, a figure in a redundancy region must be treated equally from both adjacent figure processing regions. However, if design layout data including inclined lines is input, a further problem not mentioned above is sometimes generated. This is because such a figure is processed separately in adjacent figure processing regions.
The contour of the figure in the redundancy region should be recognized as the same figure in an adjacent figure processing region. However, the above-described basic figure dividing processings are separately performed in figure processing regions, and the same figure could be divided differently between adjacent figure processing regions. As a result, the originally identical figures could be recognized as different figures between these adjacent figure processing regions. In such a case, the figures sometimes cannot be allocated correctly. This problem will be further detailed below.
FIG. 41 shows a kind of LSI design layout data, figure data 710. Figure data 710 includes regularly arranged inclined rectangular figures 712. Figure data 710 is divided into a plurality of figure processing regions including redundancy regions by figure processing region dividing portion 102 as shown in FIG. 42 at (A). Thereafter, basic figure dividing is performed for each figure processing region.
Figure processing regions 714 and 716 in FIG. 42 at (A) are shown in enlarged form in FIG. 42 at (B). Referring to FIG. 42 at (B), figure processing regions 714 and 716 in solid line are attached with redundancy regions 718 and 720, respectively in dotted line. In the following description, for the ease of description and illustration, only figure 712 across the figure processing region boundary will be specifically described. Figure 712 is extracted in FIG. 43.
A result of basic figure processing by left side figure processing region 714 to figure 712 is given in FIG. 44. Referring to FIG. 44, figure 712 has its center at the right side of figure processing region 714 and divided into basic figures 722, 724 and 726 by based on intersections with two straight lines 748 spaced apart from each other by minimum size value .epsilon. for minute figure to draw in the horizontal direction.
The result of dividing figure 712 into basic figures in figure processing region 716 on the right side is shown in FIG. 45. Referring to FIG. 45, figure 712 has its center at the left side of figure processing region 716 and divided into basic figures 728, 730 and 732 based on intersections with two straight lines 748 spaced apart by minimum size value .epsilon. for minute figure to draw in the horizontal direction.
The result of allocating figures in the redundancy region by redundancy region removing portion 502 is given in FIGS. 46 and 47. FIGS. 46 and 47 correspond to FIGS. 44 and 45, respectively. Referring to FIG. 46, the original figure 712 is divided into figures 722 and 734. Figure 726 in FIG. 44 is removed. Figure 734 is produced by removing the redundancy region portion of figure 724 shown in FIG. 44. In FIG. 47, the original figure 712 is divided into figures 732 and 736. Figure 728 shown in FIG. 45 is removed. Figure 736 is produced by removing the redundancy region portion of figure 730 in FIG. 45.
The figures shown in FIGS. 46 and 47 are subject to figure data merge, and once again divided into basic figures for allocation to drawing fields, and the results are shown in FIGS. 48 and 49. Left side figure processing region (which corresponds to the drawing field) 714, the original figure is divided into basic figures 722, 740 and 742. In the right side figure processing region 716, the original figure is divided into basic figures 744, 746 and 732 as shown in FIG. 49.
FIG. 50 shows a figure formed by combining those figures in FIGS. 48 and 49. As can be seen from FIG. 50, the final figure data have missing portions, which degrades the size precision of the drawing pattern.
A similar problem will be described in conjunction with FIGS. 51 to 85. A figure 750 shown in FIG. 51 will be allocated to two adjacent figure processing regions over a boundary 752. The redundancy region boundary 718 of left side figure processing region, the boundary 720 of the right side figure processing region and two straight lines 748A and 748B spaced apart from boundary 752 by minimum size value .epsilon. for minute figure to draw are positioned as shown.
Referring to FIG. 52, the basic figure dividing and the redundancy region removing processing in the left side figure processing region, figure 750 shown in FIG. 51 is divided into four basic figures 752, 754, 756 and 758. Figures 752 and 754 are allocated to the left side figure processing region. Meanwhile, referring to FIG. 53, by the basic figure dividing and redundancy region removing processings in the right side figure processing region, figure 750 shown in FIG. 51 is divided into three figures 762, 764 and 766. Figure 764 cannot be allocated to the right side figure processing region, because the right end of figure 764 does not reach straight line 748B on the right side. As a result, only figure 766 is allocated to the right side figure processing region. The result of allocating the figures is shown in FIG. 54. As can be seen from FIG. 54, figure part 768 is missing in the right side figure processing region. The size precision of drawing pattern is thus lowered.
Furthermore, since the trapezoid having an inclined side is subject to the allocating processing as shown in FIG. 35, the following problem is encountered. Referring to FIG. 55, let us now consider that a trapezoid 780 is divided by the boundary 752 of a figure processing region. Trapezoid 780 is once divided into a triangle 782 on the left side and a pentagon on the right side by boundary 752 as shown in FIG. 56. The pentagon on the right side is then divided into a trapezoid 784 and a rectangle 786 by a dividing line extended horizontally from the intersection of the inclined side and boundary 752. In the positional relation as shown in FIG. 56, trapezoid 784 having a height smaller than minimum size value .epsilon. for minute figure to draw becomes a minute figure to draw, thus lowering the size precision of the drawing pattern.